The shmiq driver expects messages from all input devices to be in the form of IDEV events, as documented in the /usr/include/sys/idev.h header file; hence this is called the IDEV interface. IDEV device events appear as valuator, button, and pointer state changes.
The IDEV interface defines two-way communications between the input device and Xsgi. Besides the uniform set of IDEV input events, the interface defines a standard set of abstract commands that Xsgi can send down (using IOCTL messages) to initialize and control input devices. This allows the server to see input devices as abstract input sources and does not require special server code to be written every time a new input device is supported. Instead, device specific knowledge of each devices is encapsulated in an IDEV-based STREAMS module linked into the kernel.